A deal is an entity that brings together one or more contacts and has an assigned responsible user. In most CRMs, this is referred to as an "order" or a "deal."
For example: a customer reaches out regarding the purchase of new doors and flooring. They have two distinct needs and require assistance from two different managers. In this case, two separate deals should be created — both linked to the same contact but each assigned to a different responsible manager.
When using the methods listed below, include the end‑customer's client_access_token (obtained via simplified authorization or OAuth) in the request header: Authorization: Bearer client_access_token
GET /v2/deals — retrieving a list of deals.GET /v2/deals/{deal_id} — retrieving a deal by ID.POST /v2/deals — adding deals.PATCH /v2/deals — updating deals.DELETE /v2/deals — deleting deals.This section describes the parameters used when creating or updating deals, as well as those returned in API responses.
All parameters are nested within a deals or data object — see the request and response examples for each method to understand which object is used.
| Parameter. Required are marked with * | Type | Description |
id* |
number |
Deal ID (max 100 characters). Located in the deals or data object depending on the method |
responsible_user_id* |
string |
ID of the responsible user. This ensures the conversation is visible to the assigned manager. Located in the deals or data object depending on the method |
name* |
string |
Deal name (max 200 characters). Located in the deals or data object depending on the method |
uri* |
string |
Link to the deal in the CRM (max 200 characters). Enables navigation to the deal directly from the list. Located in the deals or data object depending on the method |
contacts* |
object |
Array of contact IDs associated with the deal. IDs can be strings. Located in the deals or data object depending on the method |
closed* |
boolean |
Indicates whether the deal is closed: true or false. Located in the deals or data object depending on the method |
POST /v2/dealsParameters are described in the Deal Model section above. Pass them inside a deals object.
Request example:
curl -L 'https://tech.wazzup24.com/v2/deals' \
-H 'Authorization: Bearer <client_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"deals": [
{
"id": "deal1",
"responsible_user_id": "222",
"name": "TestDeal",
"uri": "https://example.com/deal/123",
"contacts": [
"chat1"
],
"closed": false
}
]
}'
Response example:
{
"data": {
"processed": 1
},
"meta": {
"timestamp": 1759495852
}
}
Result: The deal (or list of deals) has been added.
This method returns information about deals that you have previously sent to Wazzup.
GET /v2/dealsRequest Example:
curl -L 'https://tech.wazzup24.com/v2/deals?offset=0&limit=10' \ -H 'Authorization: Bearer <client_access_token>'
Response example:
{
"data": [
{
"id": "deal1",
"name": "TestDeal",
"responsible_user_id": "222",
"uri": "https://example.com/deal/123",
"contacts": ["chat1"],
"closed": false
}
],
"meta": {
"timestamp": 1759496750
}
}
Result: Returns a list of all deals that have been previously created.
GET /v2/deals/{deal_id}Path parametersdeal_id — Deal ID in the CRM.
Request Example:
curl -L 'https://tech.wazzup24.com/v2/deals/deal1' -H 'Authorization: Bearer <client_access_token>'
Response example:
{
"data": [
{
"id": "deal1",
"name": "TestDeal",
"responsible_user_id": "222",
"uri": "https://example.com/deal/123",
"contacts": ["chat1"],
"closed": false
}
],
"meta": {
"timestamp": 1759496750
}
}
Result: Returns the deal with id: deal1, if it exists.
PATCH /v2/dealsRequest Example:
curl -L -X PATCH 'https://tech.wazzup24.com/v2/deals' \
-H 'Authorization: Bearer <client_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"deals": [
{
"id": "deal1",
"responsible_user_id": "222",
"name": "TestDeal",
"uri": "https://example.com/deal/123",
"contacts": [
"contact-id-123"
],
"closed": false
}
]
}'
Response example:
{
"data": {
"processed": 1
},
"meta": {
"timestamp": 1759495852
}
}
Result: If the deal exists, its information has been updated.
DELETE /v2/dealsExample:
curl -L -X DELETE 'https://tech.wazzup24.com/v2/deals' \
-H 'Authorization: Bearer <client_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"deal_ids": [
"deal1"
]
}'
Response example:
{
"data": null,
"meta": {
"timestamp": 1759393502
}
}
Result: Deal id: deal1 has been deleted.